home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / diskfree / diskfree.c < prev    next >
C/C++ Source or Header  |  1992-11-23  |  980b  |  33 lines

  1. #include <Windows.h>
  2. #include <dos.h>
  3.  
  4. // Calls _dos_getdiskfree and returns data in diskspace
  5. // In VisualBASIC:
  6. //   Type DiskFree
  7. //     total_clusters As Long
  8. //     avail_clusters As Long
  9. //     sectors_per_cluster As Long
  10. //     bytes_per_sector As Long
  11. //   End Type
  12. // Declare Function GetDiskSpaces Lib "diskfree.dll" (ByVal wDrive As Integer, DiskSpace As DiskFree) As Integer
  13.  
  14. struct diskspaces
  15. {
  16.     long total_clusters;
  17.     long avail_clusters;
  18.     long sectors_per_cluster;
  19.     long bytes_per_sector;
  20. };
  21.  
  22. int far pascal _export GetDiskSpaces (unsigned int drive, struct diskspaces far *diskspace)
  23. {
  24.     int ret;
  25.     static struct diskfree_t diskspace1;
  26.     ret = _dos_getdiskfree (drive, &diskspace1);
  27.     diskspace->total_clusters = diskspace1.total_clusters;
  28.     diskspace->avail_clusters = diskspace1.avail_clusters;
  29.     diskspace->sectors_per_cluster = diskspace1.sectors_per_cluster;
  30.     diskspace->bytes_per_sector = diskspace1.bytes_per_sector;
  31.     return ret;
  32. }
  33.